This disclosure relates to MRAM integrated circuit memories wherein different logic values are represented by changeable states of high or low electrical resistance in one or more magneto-resistive memory elements contained in bit cells. For reading out the logic value stored in a cell as herein disclosed, a current level first is established representing the present logic state of the cell. A low resistance state is then imposed on the cell, and a self-reference current comparison circuit establishes whether the resistance state was high prior to imposition of the low resistance state, or unchanged.
A spin-transfer torque magnetoresistive random access memory (STT-MRAM) stores data values in magnetic tunnel junction memory elements. A magnetic tunnel junction or “MTJ” has superimposed magnetic layers separated by a nonmagnetic conductive film. The magnetic layers have magnetic fields that assume one of two alignments wherein the series electrical resistances through the superimposed layers and the film are distinctly different. The magnetic fields of the superimposed layers may be aligned in the same direction (parallel with one another) in a low resistance state or directly opposite (anti-parallel) in a high resistance state.
During read operations, the resistance of a cell is sensed and compared in some way to a threshold that distinguishes between high resistance and low resistance states. For example, a voltage can be generated by passing a read current of a known amplitude through the MTJ element. The voltage across the MTJ element needs to be compared against a voltage reference, in a threshold comparison circuit or the like, to distinguish between high and low resistance states. It is also possible to apply a known voltage and to compare the resulting current to a current threshold. Whether in voltage or current, the relatively higher and lower resistance states of the MTJ elements represent logical ‘zero’ or ‘one’ binary values of a bit cell.
A change of the logical value of a bit cell having an MTJ element is accomplished by changing the alignment of the magnetic field of the free layer relative to the alignment of the pinned layer. A spin-transfer torque (STT) cell is advantageous in that the alignment of the magnetic field in the free layer can be changed simply by passing an appropriate write current through the magnetic tunnel junction MTJ element. Reading the value of a bit, namely detecting its resistance state, also involves passing a current through the MTJ element. The read current bias level is a lower current amplitude than the write current amplitude, so as to reduce the risk of changing or “disturbing” the logical value stored at the bit cell. A read disturb error can arise in situations where there is a particular combination of resistance state and read current bias. The read current polarity and also the read current amplitude make a difference because changing an MTJ element from its high resistance state to its low resistance state requires a write current polarity that is opposite from the polarity needed when writing from a low resistance state to a high resistance state.
For write operations, a high resistance state (with anti-parallel magnetic fields) or a low resistance state (with parallel magnetic fields) can be imposed on the MTJ. The respective states are imposed using write currents of sufficient amplitude and at one of two opposite write current polarities. In either of these states, the MTJ remains stable without application of electrical power.
A bit cell operating as a logic value storage element has at least one MTJ and may have more than one MTJ. An MTJ has two magnetic plates or layers separated by a thin nonmagnetic insulating layer, for example of magnesium oxide (MgO). One of the two magnetic plates has a permanently aligned magnetic field and serves as a reference layer (the so-called pinned layer). The other magnetic plate is changeable as to its magnetic field alignment (the free layer). When the magnetic field alignment of the free layer is parallel to the field alignment of the pinned layer, the MTJ resistance is relatively lower (RL), and when the field alignment of the free layer is opposite (anti-parallel) to that of the pinned layer, the MTJ resistance is relatively higher (RH). The resistances may be on the order of hundreds of ohms, for example. The difference in resistance between the RL and RH states can be substantial, e.g., a difference in resistance of 100%. However the absolute resistance values in the high and low resistance states (particularly the RH value) and the ratio of resistances RL/RH or RH/RL can vary over the population of MTJ elements, due to variations in the dimensions of the magnetic plates and the nonmagnetic insulating layer. Such variations occur from one integrated circuit memory to another, and also from one cell to another on a same integrated circuit memory. These variations, particularly when added to inherent variations, such as the differences in resistance of different conductive paths, noise and the like, cause uncertainties in the extent to which the state of resistance of an MTJ element (RL or RH) can be discerned in an uncomplicated way, such as by direct comparison against a reference value.
A challenge is presented in how best to distinguish between the higher and lower resistance states, given that the integrated circuit memory may comprise many thousands of MTJ elements with individual high and low resistance values distributed over a statistical population of high and low resistances. The issue is what value to use for the reference during threshold comparison. Manufacturing variations produce variations in high and/or low resistances among the population of memory elements in a given memory chip and also from one memory chip to another. Differences in the levels of high resistance and low resistance of MTJ elements on a chip can complicate and sometimes defeat efforts to distinguish between the high and low resistance state of a particular MTJ element.
A fixed reference might be used for threshold comparison. Although the variable aspect of the MTJ element is resistance, considering Ohm's law, the basis for comparison of resistance might involve a parameter such as voltage level or current amplitude. Alternatively, another parameter may be used that varies as a result of a resistance, voltage or current, such as a time related variable associated with charging or discharging through a resistance. In any event, for dependable results of a comparison, the reference value used as the threshold to distinguish between logic values (and resistance states) should fall at an intermediate point that is well spaced from the high and low values of the corresponding parameter of the MTJ that is being read, in its respective high and low resistance states. If the threshold is near to the high or low parameter value, it is conceivable under some scenarios that the comparison may fail to produce the correct result, namely to distinguish between the parallel and anti-parallel field alignment states of the MTJ element. A bit cell in the memory could become incapable of reading out one of the two MTJ states if the threshold happens to be higher than the high parameter value or lower than the low parameter value of that bit cell.
The statistical distribution of high resistance values RH and low resistance values RL may be such that there is a clear difference in the mean or average high resistance and the mean or average low resistance. However, there may be occurrences of outliers in the population, having RH high resistances for some MTJ elements that are in fact lower than the RL low resistances of some other MTJ elements. In that case, it is not possible to choose a fixed comparison threshold, such as half way between the high and low means or averages, that will be effective to distinguish the high and low resistance states of all the MTJ element in an array or on a circuit chip. In such a device when using a direct comparison and a fixed threshold, some of the MTJ elements will be found to be defective because bit values written to the bit cells containing the MTJ elements cannot be read out again accurately.
Although an array or circuit chip has MTJ elements with RH and RL distributions that may overlap at the outliers, MTJ elements that have a relatively high or relative low RH in the distribution of RH values, typically also have a relatively high or low RL in the RL distribution. The RH and RL levels track one another. Neither the ratio of TMR=(RH−RL)/RL nor the ratio of RH/RL are generally constant. Generally, the TMR is between one and two, but there is variation. The RH levels typically have a wider distribution than the RL levels, perhaps because the RH level is more sensitive to variations in the thickness of the conductive layer between the magnetic layers, for example with minor manufacturing variations. Efforts are made to contend with these and other variations in hope to improve the dependability of a comparison circuit to discern the RH and RL levels of MTJ elements, namely to provide a way in which a high majority of the MTJ elements are dependably readable when in their RH and RL states. But challenges arise due to the variation in RH and RL over the population and the fact that the statistical distributions of resistances RH and RL overlap one another.
Techniques can include providing multiple MTJ elements in each bit cell, such as adjacent MTJ elements in an array, keeping the two MTJ elements always in opposite resistance states (in which case, the order of RH−RL or RL−RH may represent a logic value); and comparing them against one another or against an average of their resistances to discern a logic value of the bit cell. Another technique can include averaging multiple RH and/or RL values of MTJ elements, for example in a local neighborhood, and using the average(s) in some way to arrive at a comparison threshold that may be caused to vary when reading different MTJ elements in an array, or to vary from one integrated circuit MRAM chip to another.
Although RH and RL resistance values may vary and their distributions may overlap, for any given MTJ element, the resistance RH of that given element is dependably greater than the resistance RL of that same element. This characteristic of MTJ elements suggests that it may be possible to provide a self-reference that defines a comparison threshold that is between the RH and RL resistances of the MTJ element that is being read. If the present resistance value of an MTJ element is compared against a threshold equal to the average of the RH and RL resistances of the same element, a dependable read operation should be possible so long as that MTJ element has a minimal difference between RH and RL. But in order to practice that technique, it is necessary to know or readily determine the average of RH and RL for all of the MTJ elements in the array, for use as individual threshold comparison values when respective elements are addressed and read.
A possible self-reference reading technique could involve taking and storing a parameter value related to the resistance level of an MTJ element in a bit cell, so as to store a measure of the unknown present state of the MTJ element. Then in a read operation, after imposing a known state on the MTJ element, one might seek to determine whether and how the resistance changed (up or down or not at all) and make a conclusion as to whether the unknown initial state was RH or RL before the read operation. After the process, the now-determined initial state may need to be written back into the MTJ element (unless the store and change steps left the MTJ element in its same initial state) so that reading the contents of the memory does not change the values stored.
It is generally necessary to impose both states on the MTJ element at successive times, so as to determine both RH and RL for that MTJ element, arriving at an average for use as the threshold comparison value that results in a decision whether the unknown initial state was RH or RL. Otherwise, one might conclude erroneously that the RH or RL state of the MTJ element had changed, when in fact there were two successive measurements in the same state of RH or RL, but the measurements were unequal by a small amount less than the difference between RH and RL of that MTJ element.
Such a self-reference operation requires one or more sample and hold amplifiers, one or more comparators, control gates and registers. The circuit could operate, for example, under the control of a phase counter to advance through necessary steps. The steps or phases include to bias the MTJ with a read current, to read and store a voltage representing the unknown initial state, to impose two further sequences of write current, either of which might change the MTJ state depending on its unknown initial state, in each case storing a voltage representing the RH and RL states, averaging the higher and lower voltages representing the RH and RL resistance values to provide a reference for comparison, comparing the voltage representing the unknown initial value against the reference for comparison so as to determine that initial state was RH or RL, and writing back the initial state if the final state of the MTJ is not the same as the initial state.
The present value of an MTJ element (RH or RL) is arbitrary and unknown. If it is known at least that the value has changed, it would be possible to store only the previous value and to determine whether the present value is higher or lower. But if the data or logic values read and written to the MTJ element are arbitrary, one cannot know anything about the former and present values in that way.
In write operations, the RH or RL state is imposed on an MTJ element by applying a write current of a required polarity and more than an minimum amplitude. Opposite polarity currents impose the opposite RH and RL states, respectively. In an exemplary self-reference technique (see U.S. Pat. No. 7,876,604—Zheng), a read current bias is applied to an MTJ element whose RH or RL state at first is unknown. The read current has the same polarity as a write current and would force the MTJ into one of the RH and RL states if the amplitude was sufficient. But the amplitude initially is kept at a predetermined current polarity below the minimum amplitude considered necessary to force a change in state. After measuring the value of a parameter related to resistance (e.g., voltage at a given current bias level), the current bias amplitude is increased beyond the minimum necessary to write or impose one of the RH or RL states onto the MTJ element. If the MTJ element was initially in the same state that is being imposed, the parameter related to resistance returns to its measured value when returning to the lower read current amplitude. If the MTJ element was not in the imposed state, the parameter related to resistance is higher or lower than its measured value when returning to the lower read current amplitude. One can then conclude whether the initial state was RH or RL. If necessary, the initial state is re-imposed onto the MTJ element.
What is needed is a way to distinguish dependably between the RH and RL states of bit cells and MTJ elements in bit cells, when there are ranges of different RH and RL resistances for the MTJ elements in an array of thousands of elements and the ranges may overlap such that the RH of some MTJ elements is lower than the RL of some other MTJ elements, and further considering that the initial resistance state and/or bit cell logic value is arbitrary and unknown, meaning that any given cell might be found in a high or low resistance state.